The present invention relates to a simulation system and a simulation method for development of control software.
When control software which is to be incorporated into a microcomputer for controlling an apparatus is developed in advance of development of the apparatus, a logic evaluation of the control software under development is carried out by using a simulator which simulates the nonexistent apparatus on a computer.
For example, in order to develop control software of an ECU (Electronic Control Unit) in which a microcomputer for controlling an engine, a brake, or the like of a vehicle is incorporated, in advance of development of an actual vehicle, a simulation system is constructed. This simulation system includes a vehicle simulator which simulates the motion of the vehicle on the computer and the ECU which are connected to each other and carries out the logic evaluation of the control software under development.
Patent Document 1 describes this type of simulation system such as a HILS (Hardware In the Loop Simulation) system or a SILS (Software In the Loop Simulation) system.
The HILS system is a system which connects a real ECU to a vehicle simulator so as to verify control software under development. The SILS system is a system which constructs an ECU simulator which simulates the ECU on the computer, instead of the real ECU, and a vehicle simulator on a general-use computer, such as a personal computer or the like, so as to verify control software under development.
As shown in FIG. 1, the HILS system is a cyclic driven system which executes a series of operations described below in a predetermined cycle. That is, an electrical signal output from the real ECU in which the control software (target software) under development is installed is converted into a logical signal through an I/F board. The logical signal is input to a high-performance CPU which runs software for simulating the vehicle motion, and is subjected to an arithmetic process. A logical signal obtained as a result of the arithmetic process is again converted into an electrical signal through the I/F board, and the electrical signal is fed back to the ECU. In this system, a feedback loop is constructed by hardware, such as the ECU, the I/F board, the high-performance CPU, and the like.
As shown in FIG. 2, a simulated ECU which runs software for simulating the motion of the microcomputer constituting the ECU and the motion of a peripheral circuit on the high-performance CPU is constructed in the SILS system. The SILS system is a cyclic driven system which executes a series of operations described below in a predetermined cycle. That is, a logical signal output from the simulated ECU is input to the high-performance CPU which runs the software for simulating the vehicle motion through an I/F model which simulates the I/F board and is subjected to an arithmetic process. A logical signal obtained as a result of the arithmetic process is fed back to the simulated ECU through the IN model. In this system, the ECU, the I/F board, and the vehicle are all implemented by software, and a feedback is constructed by software.
In the SILS system, instead of hardware of the ECU and software for simulating the I/F board of the vehicle model, a control system module and a controlled system module are constructed. The control system module simulates a logical arithmetic unit of the microcomputer incorporated into the ECU which runs a control program. The controlled system module is the vehicle model which simulates the motion of the vehicle. Further, a system management module for managing predetermined events generated in the control system and the controlled system in time series and controls the simulated ECU and the vehicle model in a stepwise manner for each event. This type of SILS system is referred to as an event driven type system in which a calculation cycle varies.
A simulation system is configured to include a simulation execution unit using such a HILS system or a SILS system, an input/output module which operates in synchronization with the simulation execution unit, delivers simulation conditions to the simulation execution unit, and receives a simulation result from the simulation execution unit, and a user interface module which generates an operation screen for inputting the simulation conditions, or an output screen for representing the simulation result, and displays the generated screen on a display unit.
The HILS system is useful when developing the control software by using the existing ECU, and the SILS system is useful in that the control software can be developed even though no ECU serving as a target is provided.
Patent Document 1: JP-A-2007-52580
Non-Patent Document 1: “All about Car Electronics 2008, Diversifying HILS”, Nikkei BP Inc., May 21, 2008, (pp. 244 to 249)
As shown in FIG. 3A, if the cyclic driven HILS system is used, the simulation progress time and the actual time are substantially identical, and simulation can be executed in real time. Meanwhile, as shown in FIG. 3B, when the cyclic driven SILS system is used, an overhead for executing detailed simulation of the ECU becomes large, and the execution cycle of control software would increase even though a high-performance CPU is provided. For these reasons, there are many cases where the simulation progress time becomes longer than the actual time.
As shown in FIG. 3C, if the event driven SILS system is used, the control software is run in a stepwise manner in response to a predetermined event. Accordingly, without performing a special process for synchronizing the simulation progress time with the actual time, simulation is executed regardless of the actual time. As a result, there are many cases where the simulation progress time becomes quicker than the actual time.
In the related art, however, the updating speed of the operation screen or the output screen displayed on the display unit by the user interface module is synchronized with the processing speed of the simulation execution unit. Accordingly, if a SILS system is used as the simulation execution unit, an operator who views the status of the executed simulation through the user interface module or operates the user interface module may be suffered inconveniences.
For example, when a cyclic driven SILS system is used as the simulation execution unit, even though the operator operates the operation screen, it may be impossible to determine whether the operation is properly received or not since the display response is delayed, and the operator may erroneously operate the operation screen again. For this reason, desired simulation may not be executed.
Even though the operator operates to turn on an ignition switch displayed on the operation screen, there may be no response and thus the operator again operates to turn on the ignition switch. Accordingly, the user interface module may recognize that the operator operates to turn off the ignition switch.
Even though an accelerator operating switch displayed on the operation screen is operated so as to increase the degree of opening of the accelerator, it takes considerable time until the engine revolution displayed on the output screen increases. For this reason, it may be difficult to determine whether or not simulation is normally executed.
Meanwhile, if an event driven SILS system is used, the operation screen to be operated by the operator is updated instantaneously. Accordingly, sufficient operation timing for the operator may not be ensured. Further, the output screen that the operator will confirm is updated instantaneously. Accordingly, sufficient confirmation timing for the operator may not be ensured.